草庐IT

Java in 运算符

全部标签

java - 如何修复 '<>' 运算符不允许用于源级别 1.7

我正在使用JDK1.8.0。当我将代码导入Eclipse时出现错误:''operatorisnotallowedforsourcelevel1.7例子:Listerrors=newArrayList();我正在使用EclipseKepler。 最佳答案 有时我看到Eclipse对Java目标版本感到困惑,并抛出不正确的消息(即使项目设置正确以支持Java7)。修复它的最简单方法是更改​​目标版本,然后将其更改回预期的目标版本。可以通过打开项目属性对话框(右键单击项目,然后选择Properties)来检查此版本,并检查两个选项卡上的设

Java 相当于 Perl 的 s///运算符?

我有一些代码要从Perl转换为Java。它大量使用正则表达式,包括s///运算符。我已经使用Perl很长时间了,并且仍然习惯于Java做事的方式。特别是,字符串似乎更难处理。有谁知道或拥有完全实现s///的Java函数?这样它就可以处理这样的事情,例如:$newString=~s/(\bi'?\b)/\U$1/g;(也许不是一个很好的例子,但你明白了。)谢谢。 最佳答案 没有那么整洁,但在Java中你会使用String.replaceAll()或使用Pattern做类似的事情:Patternp=Pattern.compile("(\

java - Perl 的 qq 运算符在 Java 中的等价物是什么?

我有一个很长的字符串,其中包含许多新行(这是一个非常长的SQL语句)。当我用换行符分隔时,SQL更容易阅读。但时不时地,我需要从代码中复制sql语句以粘贴到sqldeveloper中。在Perl中,我一直喜欢qq运算符,您可以使用它来代替双引号:你可以像这样使用它:$myString=qq{SELECT*FROMtable_aaJOINtable_bbONa.id=b.id...etc};JAVA中有对应的吗?我发现不得不像这样将字符串分成几block很尴尬:StringmyString="SELECT*"+"FROMtable_aa"+"JOINtable_bbONa.id=b.id

Java 7 菱形运算符和派生类的初始化

classA{}classBextendsA{}classHolder{Tobject;Holder(Tobject){this.object=object;}}有一个Holder类来保存一些对象,它是使用泛型创建的。在main()中,当使用菱形运算符初始化时,它不会编译(Java7)派生类传递给Holder的构造函数(需要A/找到B):publicstaticvoidmain(String[]args){Holderholder=newHolder(newB());}但是如果在正确的部分指定了基本类型,它就可以编译并工作:publicstaticvoidmain(String[]ar

java - 为什么使用 new 运算符创建的字符串会在字符串池中创建字符串文字

我的问题是,当我们将String声明为Stringa=newString("abc");时,在字符串池和堆上创建字符串对象有什么好处?当我们将字符串创建为Stringa="abc"时,为什么不在堆中创建字符串。 最佳答案 java语言就是这么设计的。双引号之间使用的任何内容都是编译时常量并进入字符串池。所以,在你的情况下:Stringa=newString("abc");“abc”将被解析为编译时常量,因此将被添加到当前JVM的字符串常量池中。接下来,a的值将在运行时解析,并在运行时添加到堆中。

java - Eclipse 三元运算符快捷方式?

在Eclipse(3.4+以上)中,我正在寻找将if{}else{}条件block转换为java三元运算符(或?:运算符)。我该怎么做? 最佳答案 没有这样的捷径。将语句重构为表达式并不是一个微不足道的过程,而且并不总是可以开始的。该过程太复杂而无法自动化。也就是说,Ctrl+Shift+L将列出所有Eclipse快捷方式。相关问题HiddenfeaturesofEclipseWhatisyourfavoritehot-keyinEclipse 关于java-Eclipse三元运算符快捷

java - 在两个操作数中提及多个算术运算如何在 Java 中工作

我的代码中有一个表达式-inti=10++11--12++13--14++15;变量“i”的值计算为75,这是表达式中提到的所有整数的总和。在这种情况下如何进行评估? 最佳答案 这个评估为inti=10+(+11)-(-12)+(+13)-(-14)+(+15);评估为inti=10+11+12+13+14+15;全部变成+所以值为75.note--是+ 关于java-在两个操作数中提及多个算术运算如何在Java中工作,我们在StackOverflow上找到一个类似的问题:

java - 在 Java 中对对象使用运算符

假设我们有一个类如下:publicclassTime{inthour;intmin;Time(inthour,intm){hour=h;min=m;}publicStringtoString(){returnhour+":"+min;}}我想在main中写一些这样的代码,结果如注释中所示:Timet1=newTime(13,45);Timet2=newTime(12,05);System.out.println(t1>=t2);//trueSystem.out.println(t1我可以通过接口(interface)等来做到这一点吗?还是我唯一能做的就是编写方法而不是使用运算符?提前致

java - 解析逻辑运算 - AND、OR、动态循环条件

我有一个传入记录过滤器,其中存储了如下给出的逻辑子句。Acct1='Y'ANDAcct2='N'ANDAcct3='N'ANDAcct4='N'ANDAcct5='N'AND((Acct6='N'ORAcct7='N'ANDAcct1='Y')ANDFormatted='N'ANDAcct9='N'AND(Acct10='N'ANDAcct11='N')ANDEditableField='N')我输入到此条款的数据将来自Csv文件,如下所示。Country,Type,Usage,Acct1,Acct2,Acct3,Acct4,Acct5,Acct6,Acct7,Formatted,Ac

带有 +=/-= 运算符的 Java switch 语句

非常简单的问题,但无法弄清楚。为什么在下面的(Java)代码中y计算为2?intx=2;inty=2;switch(x*2){case4:y+=1;case6:y-=2;default:y+=1;} 最佳答案 它从情况4到情况6下降到默认值,因此它递增(新值:3),递减2(新值:1)然后递增(新值:2)。编译器应该警告您有关失败的信息,至少在您使用-Xlint时是这样。永远不要忽略编译器警告,并且始终使用-Xlint编译:) 关于带有+=/-=运算符的Javaswitch语句,我们在St